#tinytex::install_tinytex()
#installed.packages('foreign')
#install.packages("ggplot2")
#install.packages("dplyr")
#install.packages("plotly")
#install.packages('car')
library(tidyverse)
library(knitr)
library(foreign)
library(ggplot2)
library(dplyr)
library(plotly)
library(car)
Esta aplicación tiene su origen en el trabajo de Nerlove (1963). Este es un estudio clásico de los retornos a escala en una industria regulada. Nerlove ofreció una buena descripción de la industria eléctrica, dicha descripción es válida para el momento en que se escribió:
Respecto de los datos, estos consisten en 145 empresas ubicadas en 44 estados en EUA en el año 1955, ya que son para los únicos estados para los que existe información. El estudio utilizó información de aproximadamente el 80% de la electricidad producida.
Visto por la forma de producción, Nerlove identicó que existían 3 métodos de producción de electricidad:
Al respecto, Nerlove muestra que en los 50's cerca del 70% de la electricidad era producida por las empresas termoeléctricas. El combustible pincipal empleado en dichas termoeléctricas era carbón (66.4%), seguido de petróleo (14.5%) y gasolina (19.1%).
Variables consideradas en el análisis: costos totales, precios de los factores (salarios, precios de combustibles, renta o precio del capital), y el producto. Aunque las empresas son dueñas del capital, en el modelo se supone que dichas empresas se comportan como si estas pagaran una renta de capital, por lo que se imputa un precio por el costo de capital.
No obstante, para mayores detalles refierase al documento original de Nerlove, donde se describe con mayor detalle la forma en que fue construída la base de datos. Los datos de producción, combustibles y costos laborales fueron obtenidos de la Federal Power Commision (1956).
La motivación para el analísis es que mediante un enfoque econométrico se puede construir una curva de costo promedio (AC, por sus siglas en inglés) para cada empresa, misma que es diferente de la promedio de la industria. Esto es, la empresas enfrentan diferentes precios por los factores productivos y por lo tanto diferentes costos totales, medios y marginales.
Para enfocarnos en la conexión entre la eficiencia de producción y el producto, asumimos que todas las empresas enfrentan mas o menos los mismos precios de los factores, y la única razón por la que las curvas de costo medio (AC) y de costo marginal (MC) difieren entre las empresas es la diferencia en la eficiencia productiva. Las curvas de AC y de MC tienen pendiente positiva para reflejar retornos a escala decrecientes.
Si vemos la siguiente Figura, las curvas de AC y MC de la empresa A estan a la izquierda de las de la empresa B porque la empresa A es menos eficiente que B. Esto es derivado de que la industria es competida, ambas empresas enfrentan el mismo precio 𝑝. Dado que la cantidad está determinada por la intersección de MC y el precio de mercado, las combinaciones de cantidad / producto y el AC para las dos empresas e ilustra en la Figura.
De esta forma, la curva que resulta de conectar los puntos A y B puede tener una pendiente negativa, dando la impresión de un escenario de rendimientos crecientes a escala en la industria, ya que la agregación de todos los puntos de las empresas individuales conformaran la curva de costos promedio de la industria.
La parametrización de la función de costos parte de una función de producción del tipo Cobb - Douglas: \[Q_i = A_i x^{\alpha_1}_{i1} x^{\alpha_2}_{i2} x^{\alpha_3}_{i3}\]
Donde \(Q_i\) es la producción de la empresa \(i\), \(x_{i1}\) es el insumo de trabajo para la empresa \(i\), \(x_{i2}\) es el insumo capital para la empresa \(i\), y \(x_{i3}\) es el insumo de combustible para la empresa \(i\). El término \(A_i\) captura las diferencias no observables en la eficiencia de producción (este término también es conocido como el de heterogenidad de las empresas).
Asimismo, la suma de los paramétros: \(\alpha_1 + \alpha_2 + \alpha_3 = r\) indica el grado de retornos a escala. Dado esto último, asumiremos que el grado de retornos a escala es constante (esto no significa que existen retornos a escala constantes, ya que para ello se debería cumplir que \(r = 1\)). Adicionalmente, en el modelo se supone que dada la naturaleza de propiedad de las empresas generadoras, el problema que cada una ellas enfrenta es uno de minimización de costos (véase Nerlove (1963) para una discusión sobre las restricciones relacionadas con este supuesto).
En este sentido, el problema que cada empresa enfrenta es el de minimizar sus costos de producción, sujeto a la cantidad producida, es decir: \[\min_{x_{i1}, \ldots, x_{iK}} \sum_{k = 1}^{K} p_{ik}x_{ik}\] s.a. \[Q_i = f(x_{i1}, \ldots, x_{iK}, A_i)\]
Resolviendo el problema anterior (ver notas de clase para detalles): \[ln(C_i) = \mu_i + \frac{1}{r} ln(Q_i) + \frac{\alpha_1}{r} ln(p_{i1}) + \frac{\alpha_2}{r} ln(p_{i2}) + \frac{\alpha_3}{r} ln(p_{i3})\]
Donde \(\mu_i = ln \left[ r \left( A_i \alpha^{\alpha_1}_{1} \alpha^{\alpha_2}_{2} \alpha^{\alpha_3}_{3} \right)^{-1/r} \right]\).
La ecuación es conocida como una ecuación log-lineal, de la cual se puede interpretar a sus pendientes como elasticidades. Es decir, el cambio porcentual en el costo total cuando se incremnta en 1% el precio de cualquiera de los factores.
Si definimos a \(\mu = \mathbb{E} [\mu_i]\) y a \(\varepsilon_i = \mu_i - \mu\), de tal forma que \(\mathbb{E} [\varepsilon_i] = 0\). De esta forma \(\varepsilon_i\) se puede interpretar como la eficiencia productiva de las empresas. Considerando lo anterior plateamos la expresión: \[ln(C_i) = \beta_1 + \beta_2 ln(Q_i) + \beta_3 ln(p_{i1}) + \beta_4 ln(p_{i2}) + \beta_5 ln(p_{i3}) + \varepsilon_i\]
Donde: \[\beta_1 = \mu\]
\[\beta_2 = \frac{1}{r}\]
\[\beta_3 = \frac{\alpha_1}{r}\]
\[\beta_4 = \frac{\alpha_2}{r}\]
\[\beta_5 = \frac{\alpha_3}{r}\]
Por lo tannto: \[\beta_3 + \beta_4 + \beta_5 = 1\]
De esta forma podemos decir que \(y_i = ln(C_i)\) y que: \[\mathbf{X}'_i = [\mathbb{1}, ln(Q_i), ln(p_{i1}), ln(p_{i2}), ln(p_{i3})]\]
Esta función también es conocida como una función trans-log o trans-logarítmica, de la cual podemos recuperar una forma estimada de la función de costos original:
\[ln(C_i) = \beta_1 + \beta_2 ln(Output_i) + \beta_3 ln(plabor_{i1}) + \beta_4 ln(pfuel_{i2}) + \beta_5 ln(pkap_{i3}) + \varepsilon_i\]
Datos de Demanda de Gasolina: * totcost: costs in 1970, MM USD
dataframe <- read.dta("nerlove63.dta")
## [1] "totcost" "output" "plabor" "pfuel" "pkap"
## totcost output plabor pfuel pkap
## 1 0.082 2 2.09 17.9 183
## 2 0.661 3 2.05 35.1 174
## 3 0.990 4 2.05 35.1 171
## 4 0.315 4 1.83 32.2 166
## 5 0.197 5 2.12 28.6 233
## 6 0.098 9 2.12 28.6 195
## totcost output plabor pfuel
## Min. : 0.082 Min. : 2 Min. :1.450 Min. :10.30
## 1st Qu.: 2.382 1st Qu.: 279 1st Qu.:1.760 1st Qu.:21.30
## Median : 6.754 Median : 1109 Median :2.040 Median :26.90
## Mean : 12.976 Mean : 2133 Mean :1.972 Mean :26.18
## 3rd Qu.: 14.132 3rd Qu.: 2507 3rd Qu.:2.190 3rd Qu.:32.20
## Max. :139.422 Max. :16719 Max. :2.320 Max. :42.80
## pkap
## Min. :138.0
## 1st Qu.:162.0
## Median :170.0
## Mean :174.5
## 3rd Qu.:183.0
## Max. :233.0
dataframe$Ltotcost = log(dataframe$totcost)
dataframe$Loutput = log(dataframe$output)
dataframe$Lplabor = log(dataframe$plabor)
dataframe$Lpfuel = log(dataframe$pfuel)
dataframe$Lpkap = log(dataframe$pkap)
dataframe$avgcost = dataframe$totcost/dataframe$output
dataframe %>% head()
## totcost output plabor pfuel pkap Ltotcost Loutput Lplabor Lpfuel
## 1 0.082 2 2.09 17.9 183 -2.50103600 0.6931472 0.7371640 2.884801
## 2 0.661 3 2.05 35.1 174 -0.41400142 1.0986123 0.7178398 3.558201
## 3 0.990 4 2.05 35.1 171 -0.01005033 1.3862944 0.7178398 3.558201
## 4 0.315 4 1.83 32.2 166 -1.15518265 1.3862944 0.6043160 3.471966
## 5 0.197 5 2.12 28.6 233 -1.62455157 1.6094379 0.7514160 3.353407
## 6 0.098 9 2.12 28.6 195 -2.32278783 2.1972246 0.7514160 3.353407
## Lpkap avgcost
## 1 5.209486 0.04100000
## 2 5.159055 0.22033334
## 3 5.141664 0.24750000
## 4 5.111988 0.07875000
## 5 5.451038 0.03940000
## 6 5.273000 0.01088889
Estimadores:
\[\hat{\boldsymbol \beta} = (\mathbf{X'X})^{-1}\mathbf{X'Y}\]
La especificación más común de la prueba de hipótesis en el análisis de regresión es: \[H_0: \beta_k = 0\] \[H_a: \beta_k \neq 0\]
Lo que en términos de una prueba \(t\) es la siguiente: \[t = \frac{\hat{\beta}_k - 0}{\sqrt{\hat{\sigma}^2 (\mathbf{X}'\mathbf{X})^{-1}_{kk}}} \sim t_{n - k}\]
En el caso que nos ocupa queremos probar si la suma de los coeficientes asociados los factores productivos es 1, es decir, la función de costos exibe rendimientos constantes a escala: \[H_0: \beta_3 + \beta_4 + \beta_5 = 1\] \[H_1: \beta_3 + \beta_4 + \beta_5 \neq 1\]
Existen dos alternativas para probar la hipótesis. Partamos de que: La matriz \(\mathbf{R}\) y vector \(\mathbf{r}\): \[\mathbf{R} = \left[ \begin{array}{c c c c c} 0 & 0 & 1 & 1 & 1 \end{array} \right]\]
\[\mathbf{r} = 1\]
\[t = \frac{\beta_3 + \beta_4 + \beta_5 - 1}{\sqrt{\hat{\sigma}^2 \mathbf{R} (\mathbf{X}'\mathbf{X})^{-1} \mathbf{R}'}} \sim t_{n - k}\]
## No trace type specified:
## Based on info supplied, a 'scatter' trace seems appropriate.
## Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
## Setting the mode to markers
## Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode
##
## Call:
## lm(formula = Ltotcost ~ Loutput + Lplabor + Lpfuel + Lpkap, data = dataframe)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.97784 -0.23817 -0.01372 0.16031 1.81751
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.52650 1.77437 -1.987 0.0488 *
## Loutput 0.72039 0.01747 41.244 < 2e-16 ***
## Lplabor 0.43634 0.29105 1.499 0.1361
## Lpfuel 0.42652 0.10037 4.249 3.89e-05 ***
## Lpkap -0.21989 0.33943 -0.648 0.5182
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3924 on 140 degrees of freedom
## Multiple R-squared: 0.926, Adjusted R-squared: 0.9238
## F-statistic: 437.7 on 4 and 140 DF, p-value: < 2.2e-16
\[H_0: \beta_3 + \beta_4 + \beta_5 = 1\] \[H_1: \beta_3 + \beta_4 + \beta_5 \neq 1\]
## Linear hypothesis test
##
## Hypothesis:
## Lplabor + Lpfuel + Lpkap = 1
##
## Model 1: restricted model
## Model 2: Ltotcost ~ Loutput + Lplabor + Lpfuel + Lpkap
##
## Res.Df RSS Df Sum of Sq F Pr(>F)
## 1 141 21.640
## 2 140 21.552 1 0.088311 0.5737 0.4501